public class CourseSelectionTest {
    public static void main(String[] args) {
        // 创建学生和教师
        Student student = new Student("张三", 1001);
        Teacher teacher = new Teacher("李老师", 2001);

        // 学生选课
        student.selectCourse("Java程序设计");
        student.selectCourse("数据库原理");

        // 教师分配课程
        teacher.assignCourse("Java程序设计");
        teacher.assignCourse("软件工程");

        // 打印各自的课表
        student.printSchedule();
        teacher.printSchedule();

        // 多态演示：用父类类型引用子类对象
        System.out.println("\n=== 多态演示 ===");
        Person p1 = new Student("王五", 1002);
        Person p2 = new Teacher("赵老师", 2002);
        
        p1.printSchedule();  // 实际调用 Student 的 printSchedule
        p2.printSchedule();  // 实际调用 Teacher 的 printSchedule
    }
}